#include <iostream>
#include <typeinfo>

using std::cout;
using std::endl;

struct Base {
	public:
			virtual ~Base(){};
};

class Derive: public Base {

};

int main(){
	Base *b1=new Base(), *b2 = new Derive();

	cout << typeid(b1).name() << endl;
	cout << typeid(*b2).name() << endl;

	return 0;
	
}
